﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CompanyBussiness;

namespace Website.admin.Control
{
    public partial class cUserEdit : System.Web.UI.UserControl
    {
        AccountManagement accountMana = new AccountManagement();
        MD5 md5 = new MD5();
        string strLogDetail = "";
        CheckValid cv = new CheckValid();
        CompanyBussiness.Account account = new Account();
        CompanyBussiness.AccountLog accountLog = new AccountLog();
        CompanyBussiness.InternalUser internerUser = new InternalUser();
        VwInternalUser vw = new VwInternalUser();
        int accountId;
        string pass = "";
        string confirm = "";
        string userName = "";
        string fullName = "";
        string email = "";
        string address = "";
        string phone = "";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request[CONST.QUERYSTRING_ACCOUNTID] != null)
                {
                    accountId = int.Parse(Request[CONST.QUERYSTRING_ACCOUNTID]);
                    LoadForm();
                }
                else
                {
                    Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_NAME] = "AccountMana";
                    Response.Redirect("Administrator.aspx?" + CONST.ACTION + "=AccountMana&Mod=" + "MACCOUNT");
                }
            }
            
            
        }

        protected bool GetData()
        {

            if (txtEmail.Text == "" || txtEmail.Text == string.Empty)
            {
                lbError.Text = "Bạn chưa nhập thư điện tử !";
                return false;
            }
            else
            {
                if (cv.CheckEmail(txtEmail.Text))
                {
                    if (accountMana.CheckEmail(txtEmail.Text) >1)
                    {
                        lbError.Text = "Địa chỉ thư điện tử này đã được dùng !";
                        return false;
                    }
                    else
                    {                  
                        email = txtEmail.Text;
                    }
                }
                else
                {
                    lbError.Text = "Địa chỉ thư điện tử của bạn không đúng định dạng !";
                    return false;
                }
            }

            if (txtPhone.Text != "" || txtPhone.Text != string.Empty)
            {
                if (cv.CheckNumber(txtPhone.Text))
                {
                    phone = txtPhone.Text;
                }
                else
                {
                    lbError.Text = "Số điện thoại của bạn không đúng định dạng !";
                    return false;
                }
            }

            address = txtAddress.Text;

            fullName = txtFullName.Text;


            return true;
        }

        protected void LoadForm()
        {
            try
            {
                vw = accountMana.GetViewInternalUserByAccountID(accountId);
                txtUserName.Text = vw.UserName;
                txtFullName.Text = vw.FullName;
                txtEmail.Text = vw.Email;
                txtPhone.Text = vw.Phone;
                txtAddress.Text = vw.Address;
            }
            catch (Exception)
            { 
                
            }
        }

        protected void btnRegister_Click(object sender, EventArgs e)
        {
            try
            {
                accountId = int.Parse(Request[CONST.QUERYSTRING_ACCOUNTID]);

                if (GetData() == false)
                    return;

                accountMana.UpdateInternalUserByAccoutID(accountId,email,fullName,address,phone);

                this.LoadForm();
            }
            catch (Exception)
            { 
            
            }

            Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_NAME] = "AccountMana";
            Response.Redirect("Administrator.aspx?" + CONST.ACTION + "=AccountMana&Mod=" + "MACCOUNT");
        }

        protected void btnCancel_Click(object sender, EventArgs e)
        {
            Response.Cookies[CONST.ACTION][CONST.COOKIES_ACTION_NAME] = "AccountMana";
            Response.Redirect("Administrator.aspx?" + CONST.ACTION + "=AccountMana&Mod=" + "MACCOUNT");
        }
    }
}